home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 27 / CU Amiga Magazine's Super CD-ROM 27 (1998)(EMAP Images)(GB)[!][issue 1998-10].iso / CUCD / Programming / MCCImageButton / Developer / C / Include / ImageButton_mcc.h
Encoding:
C/C++ Source or Header  |  1997-06-02  |  2.8 KB  |  96 lines

  1. #ifndef IMAGEBUTTON_MCC_H
  2. #define IMAGEBUTTON_MCC_H
  3.  
  4.  
  5.  
  6. #include <exec/types.h>
  7.  
  8.  
  9. #define MUIC_ImageButton  "ImageButton.mcc"
  10. #define ImageButtonObject MUI_NewObject(MUIC_ImageButton
  11.  
  12.  
  13. #define MUIA_ImageButton_Image    0x85b9001d /* [ISG] struct MUIS_ImageButton_Image * */
  14. #define MUIA_ImageButton_Label    0x85b9001e /* [ISG] STRPTR                          */
  15. #define MUIA_ImageButton_LabelPos 0x85b9001f /* [ISG] ULONG                           */
  16.  
  17.  
  18. #define MUIV_ImageButton_LabelPos_Bottom 0 /* default */
  19. #define MUIV_ImageButton_LabelPos_Right  1
  20. #define MUIV_ImageButton_LabelPos_Left   2
  21. #define MUIV_ImageButton_LabelPos_Top    3
  22.  
  23. #define MUIV_ImageButton_ImageType_File  0
  24. #define MUIV_ImageButton_ImageType_Body  1
  25. #define MUIV_ImageButton_ImageType_Image 2
  26.  
  27. #define MUIV_ImageButton_Transparent_None -1
  28.  
  29.  
  30. struct MUIS_ImageButton_Image
  31. {
  32.   ULONG ibi_ImageType;
  33.   LONG  ibi_Precision;
  34.   BOOL  ibi_UseFriend;
  35.  
  36.   union
  37.   {
  38.     struct
  39.     {
  40.       STRPTR ibi_filename;
  41.       UWORD  reserved1[13];
  42.     } ibi_filestuff;
  43.  
  44.     struct
  45.     {
  46.       UBYTE *ibi_body;
  47.       ULONG  ibi_width,
  48.              ibi_height,
  49.              ibi_depth;
  50.       UBYTE  ibi_masking,
  51.              ibi_compression;
  52.       LONG   ibi_transparent;
  53.       ULONG *ibi_sourcecolors;
  54.       UBYTE *ibi_mappingtable;
  55.     } ibi_bodystuff;
  56.  
  57.     struct
  58.     {
  59.       BOOL          ibi_fontmatchwidth,
  60.                     ibi_fontmatchheight,
  61.                     ibi_freehoriz,
  62.                     ibi_freevert;
  63.       struct Image *ibi_oldimage;
  64.       STRPTR        ibi_spec;
  65.       LONG          ibi_state;
  66.       UWORD         reserved2[5];
  67.     } ibi_imagestuff;
  68.   } ibi_stuff;
  69.  
  70.   ULONG reserved[10];
  71. };
  72.  
  73. #define ibi_Filename        ibi_stuff.ibi_filestuff.ibi_filename
  74.  
  75. #define ibi_Body            ibi_stuff.ibi_bodystuff.ibi_body
  76. #define ibi_Width           ibi_stuff.ibi_bodystuff.ibi_width
  77. #define ibi_Height          ibi_stuff.ibi_bodystuff.ibi_height
  78. #define ibi_Depth           ibi_stuff.ibi_bodystuff.ibi_depth
  79. #define ibi_Masking         ibi_stuff.ibi_bodystuff.ibi_masking
  80. #define ibi_Compression     ibi_stuff.ibi_bodystuff.ibi_compression
  81. #define ibi_Transparent     ibi_stuff.ibi_bodystuff.ibi_transparent
  82. #define ibi_SourceColors    ibi_stuff.ibi_bodystuff.ibi_sourcecolors
  83. #define ibi_MappingTable    ibi_stuff.ibi_bodystuff.ibi_mappingtable
  84.  
  85. #define ibi_FontMatchWidth  ibi_stuff.ibi_imagestuff.ibi_fontmatchwidth
  86. #define ibi_FontMatchHeight ibi_stuff.ibi_imagestuff.ibi_fontmatchheight
  87. #define ibi_FreeHoriz       ibi_stuff.ibi_imagestuff.ibi_freehoriz
  88. #define ibi_FreeVert        ibi_stuff.ibi_imagestuff.ibi_freevert
  89. #define ibi_OldImage        ibi_stuff.ibi_imagestuff.ibi_oldimage
  90. #define ibi_Spec            ibi_stuff.ibi_imagestuff.ibi_spec
  91. #define ibi_State           ibi_stuff.ibi_imagestuff.ibi_state
  92.  
  93.  
  94.  
  95. #endif   /* IMAGEBUTTON_MCC_H */
  96.